Generally, a Universal Serial Bus (USB) hub is a standard hub for connectivity of host to peripheral devices. The host includes, but is not limited to, Personal Computers (PC), notebook or laptop computers and related devices. The peripherals devices include, but are not limited to, printers, external memory devices, speakers, scanners, cameras, smart phones, music players and the like. The USB hub comprises one or more ports which function as “upstream” and “downstream” ports. The upstream port is connected to a host/controlling device such as the PC which acts as the master device. The downstream ports are used to connect to peripheral devices such as mobile phones and USB drives which act as slave devices. The downstream ports act in a host mode for the peripheral devices and in turn, the ports of the peripheral devices act in a slave mode.
Usually, the exchange of data between the host and the peripheral devices is achieved using the host. For example, the host is used to transfer the data or files into a peripheral device for example a mobile phone. Also, the host is used to transfer the data or files from the peripheral device into the host. That is, the host masters exchange of data with the one or more peripheral devices. Thus, there is no aspect of using the one or more peripheral devices as a master device//host for carrying out the exchange of data. That is, in the existing USB hubs, there is no provision of enabling the peripheral devices to act as host or master devices.
Further, conventionally, USB hubs do not have ability to switch the ports of the USB hub between host mode and slave mode. Existing USB hubs comprise ports which remain in their conventional modes and do not have ability to switch from host mode to slave mode and vice versa. Additionally, the existing USB hubs do not have a mechanism o support both the USB hosts and USB devices based class configurations over a single port.
Thus, there is a need to provide a USB hub that performs dynamic switching of one or more ports between host mode and slave mode, thus enabling the peripheral devices to switch between slave mode and host mode.